A computer system may include a recordable compact disk (CD-R) drive for recording a multi-media signal on a CD-R disk. Such a multi-media signal may include, for example, an audio signal, a video signal, graphics signals, data signals or the like, or a combination of audio, video, graphics or data signals. FIG. 1 is a block diagram of one such computer system 100 comprising CD-R drive 140. Host processor 110 may comprise a central processing unit such as a Pentium.TM. processor. Host processor 110 may send a multi-media signal encoded as signal data over bus 112. Bus 112 may comprise, for example, a PCI bus. Host processor 110 may also send commands to specify information required for recording the signal.
CD-R controller 130 may receive signal data (step 410 of FIG. 4) and commands from host processor 110 and generate recording signals on CD-R bus 134 to record on a CD-R disk a signal representative of signal data. Such commands may include, for example, what are known commonly in the industry as, CUE-sheets.
CD-R controller 130 may send commands to micro-controller 160, which in turn may generate a set of control signals to cause CD-R controller 130 to record on a CD-R disk a signal representative of signal data. CD-R controller 130 may store in buffer 170 signal data received from host processor 110. In response to control signals generated by micro-controller 160, CD-R controller 130 may retrieve signal data from buffer 170 and generate recording signals to record a signal representative of signal data on a CD-R disk located in CD-R drive 140.
To generate such control signals, micro-controller 160 may generate a table corresponding to each command (step 420 of FIG. 4) and generate control signals from the table. ROM 150 may store information used to generate such table, and micro-controller 160 may accordingly access ROM 150 to generate the table corresponding to a command. A table may contain information necessary for encoding signal data on several sectors during a recording operation.
In the prior art, micro-controller 160 may store in RAM 180 a table generated corresponding to each command (step 430 of FIG. 4). Micro-controller 160 may then access such a table from RAM 180, and generate control signals to CD-R controller 130 using information in the table (step 440 of FIG. 4). Due to such accesses, micro-controller 160 may potentially access RAM 180 to generate control signals for recording signal data on each sector.
One problem with such a prior art computer system 100 is that micro-controller 160 may not have enough throughput performance to support high-speed recording requirements of present day computer systems. Micro-controller 160 may not have enough throughput performance due to a high number of accesses micro-controller 160 may make to RAM 180 for accessing information in a table.
The throughput performance problems of micro-computer 160 may be exacerbated as micro-computer 160 may have several other functions such as servo functions while accessing a CD-R disk. Such other functions may consume several cycles of micro-computer 160 time. In addition, time interval between recording data on two sectors may be reduced with faster CD-R drive 140 in modern computer system 100, and micro-computer 160 may accordingly be required to generate control signals at an increasingly faster rate.
Due to the throughput performance problems and consequent inability to generate control signals at a sufficient speed, micro-computer 160 may be unable to generate control signals at a rate corresponding to a rate at which signal data may be received by CD-R controller 130. Due to such inability, CD-R controller 130 may miss recording a portion of signal data on a CD-R disk located in CD-R drive 140. As is well appreciated in the art, rewriting (or going back to record missed portions of signal data) over a CD-R disk may not be possible due to technological limitations. The quality of recorded signal may therefore be unacceptable.